// 【time 时间处理相关】
const j = require('../../src/lib/time')

describe('parseTime 时间格式转化', () => {
    test('判空', () => {
        let res = j.parseTime()
        expect(res).toBe('');
    });
    test('数字 13位', () => {
        let res = j.parseTime(1639470946954, '{y}年{m}月{d}日 星期{a}')
        expect(res).toBe('2021年12月14日 星期二');
    });
    test('数字 10位', () => {
        let res = j.parseTime(1639470946, '{y}年{m}月{d}日')
        expect(res).toBe('2021年12月14日');
    });
    test('Date 对象', () => {
        let res = j.parseTime(new Date())
        expect(res).toHaveLength(19);
    });
    test('字符串', () => {
        let res = j.parseTime('2021-10-10 12:12:12')
        expect(res).toHaveLength(19);
    });
    test('字符串型数字', () => {
        let res = j.parseTime('1639470946954')
        expect(res).toBe('2021-12-14 16:35:46');
    });
})

describe('formatTime 时间距离，显示距离当前多少时间', () => {
    let curTime = new Date()
    test('当前时间', () => {
        let res = j.formatTime(curTime)
        expect(res).toMatch(/刚刚/);
    });
    test('5分钟', () => {
        curTime.setMinutes(curTime.getMinutes() - 5)
        let res = j.formatTime(curTime)
        expect(res).toMatch(/分钟/);
    });
    test('2小时', () => {
        curTime.setHours(curTime.getHours() - 2)
        let res = j.formatTime(curTime)
        expect(res).toMatch(/小时/);
    });
    test('1996年', () => {
        let res = j.formatTime('1996-09-26 08:08:08')
        expect(res).toMatch(/天前/);
    });
})

describe('getTimeDistance 获取时间距离[做倒计时很好用]', () => {
    test('十天后', () => {
        let date = new Date()
        date.setDate(date.getDate() + 10)
        let res = j.getTimeDistance(date)
        expect(res).toHaveLength(11);
    });
})
